4. SHFS

Unraid 上 Nextcloud 的部署问题 | 治部少辅
为什么unRAID下载/拷贝文件时CPU占用高:详解FUSE-SHFS、I/O问题和解决办法 | JackieWu

Unraid 基于 FUSE 独创的文件系统 SHFS,它使得一个顶级文件夹下的文件可以散布在各个存储池、硬盘,而对用户提供了聚合视图。 Unraid 把所有的硬盘抽象成一个大硬盘。写入时类比硬盘有寻道时间,"大硬盘"需要 shfs 进程判断写入位置,这样的操作一是需要 CPU 计算,二是造成 I/O wait,最终导致 CPU 负载高。解决思路基本分为缓存和直连

  1. 增加内存做缓冲
  2. 使用 SSD 做暂存盘
  3. 手动绕过 shfs,不使用聚合路径 /mnt/user/... ,填写硬盘路径如 /mnt/disk0/... ,smb 共享使用 disk share,注意不要跨磁盘共享和用户共享复制文件
  4. 自动绕过 shfs,exclusive share 功能